The present invention relates to a multi-station data communications system, and more particularly to such a system in which all stations communicate with one another over a common transmission channel. The invention is still more particularly directed to a channel access protocol for use in a local area network (LAN) of data processing stations e.g., microcomputers.
In data communications systems, it is often the case that various stations within a system communicate with one another over a common communications channel, and in such cases it is necessary to establish some protocol for gaining access to the channel. A simple example is found in U.S. Pat. No. 3,484,771 issued on Dec. 16, 1969 to Falck, J. R. wherein a plurality of sensing stations in a burglar alarm system are connected by a common transmission line to a central office. Each sensing station includes circuitry for monitoring the busy or idle status of the transmission line. If the transmission line is occupied when a station desires to transmit to the central office, the station will continue to monitor the status of the transmission line and will delay the transmission of its signal until a predetermined period of time after the transmission line becomes idle. Such a technique may be acceptable for burglar alarm systems, but becomes unwidely and impractical in a more sophisticated data communications system wherein the volume of data transmission and the undesirability of delays dictate that the transmission medium should be used with maximum efficiently.
Additional examples of channel access protocols are found in U.S. Pat. No. 4,013,959 issued Mar. 22, 1977, to Patterson, and U.S. Pat. No. 4,234,952 issued Nov. 18, 1980, to Gable et al. In both of these systems, the transmission is monitored and the transmission of data is delayed until an idle transmission channel is detected. In the former system, the stations monitor the transmission medium for interference and repeat their attempts at preset intervals of time after each sensed interference until the message is successfully sent. In the latter system, the transmission terminals cut their transmissions short immediately upon detection of a collision, and the transmission is retried after a predetermined time delay if the medium is idle at the end of the delay time. Since the time at which each terminal in the latter system senses collision is a function of its distance from the nearest interferring terminal, the times for retransmission from each station will be effectively "displaced".
The subject of channel access protocol has become particularly significant in the field of microcomputers. With the increasingly widespread use of microcomputers, it is not uncommon for a particular office, company, plant, etc., to have a number of microcomputers all performing related functions at different locations, and in many cases there is a desire to connect the various microcomputers in a Local Area Network (LAN) to permit inter-computer communications. U.S. Pat. No. 4,063,220 issued Dec. 13, 1977 to Metcalfe et al., and U.S. Pat. No. 4,210,780 issued July 1, 1980 to Hopkins et al. describe channel access protocol systems for multiple computers communicating with one another over a common data bus.
The above-cited Gable et al., Metcalfe et al. and Hopkins et al. patents are all similar in that the communications channel is monitored for the presence of a data carrier and transmission is not initiated until an idle communications channel is detected. The transmitting station then continues to monitor the transmission channel to determine if a collision has occurred between its own transmitted data and data transmitted from another station. Such systems are known as Carrier Sense Multiple Access with Collision Detection (CSMA/CD), and have gained wide acceptance. However, while such systems do facilitate the successful transmission of data between stations, a substantial amount of time otherwise available for the exchange of data over the communications channel is lost whenever a collision occurs, and it would therefore be desirable to provide a system designed not only to detect collisions and orchestrate the retransmission of data but also to avoid collisions which may occur upon the initial transmission of data by different stations.